namespace NPD_FUNC_MUST {
	int global;

	namespace bad {
		int* xmalloc() {
			if (global) return &global;
			return 0; // xmalloc() may return NULL
		}

		void npd_func_must(int flag, char* arg) {
			int* p = xmalloc(); // xmalloc() may return NULL
			*p = 1;
		}
	}


	namespace good {
		int* xmalloc() {
			if (global) return &global;
			return 0; // xmalloc() may return NULL
		}

		void npd_func_must(int flag, char* arg) {
			int* p = xmalloc(); // xmalloc() may return NULL
			if (p != 0) // check for null
				*p = 1;
		}
	}

}